import * as api from "@/api/permission"
//引入需要校验的路由
import allRoutes from '@/router/generateRoutes'
//把recursion函数递归创建用户路由的方法引入
import recursionRoutes from '@/router/recursionRoutes'
//引入路由
import router from "@/utils/routerGuard"
//引入动态路由
import dynamicRoutes from "@/router/dynamicRoutes"

let routes = allRoutes.find(route => route.name==='home')
export default {
    namespaced:true,
    state: {
      userMenu:[],
      // 面包屑
      crumb:[]
    },
    getters: {},
    mutations: {
        // 设置用户菜单
        SET_USER_MENU(state,payload){
            state.userMenu=[...payload]
             //动态添加路由,使用router.addRoue这个方法
             dynamicRoutes.children=[...dynamicRoutes.children,...payload]
             router.addRoute(dynamicRoutes)
        },
        // 设置面包屑
        SET_CRUMB(state,payload){
          state.crumb=payload
        }
    },
    actions: {
        // 获取远程菜单
        FETCH_MEMU_LIST({commit}){
          return  api.getMenuListApi() 
          .then(res=>{
            // console.log(res.data.menuList);
           let userMenu= recursionRoutes(res.data.menuList,routes.children)
           commit('SET_USER_MENU',userMenu)
          })
        }
    },
    modules: {},
  };
  